[HOME PAGE] [VOLTAR] [LINKS IA]
LINGUAGENS PARA INTELIGÊNCIA ARTIFICIAL
A maioria dos sistemas de inteligência artificial se caracterizam por não seguir algoritmos bem definidos como nos sistemas clássicos, por isso existem linguagens específicas para IA, tais linguagens utilizam principalmente paradigmas de programação lógica e programação funcional.
De acordo com Robert I. Levine para que um programa seja considerado de IA é necessário que: "Todos os elementos nos quais o processo de tomada de decisão - objetivos, fatos, regras, mecanismos de inferência e poda - devem ser reunidos em um programa de computador para que ele possa ser realmente qualificado como um programa que possui inteligência artificial" [LEVINE, 88].
Existem várias linguagens para a construção de programas de IA. A primeira linguagem para IA surgiu em 1955, com estudos realizados por Newell, Shaw e Simon, denominada de IPL-11. Em seguida surgiu a linguagem LISP (LISts Processing), estruturada por John McCarthy (em 1958), a qual passou a ser amplamente utilizada juntamente com a lógica matemática e as funções recursivas.
O desenvolvimento do Lisp acadêmico propiciou o surgimento de vários dialetos do LISP: LOOPS, Scheme Lisp, S1 Lisp, PSL, Mac Lisp, InterLisp, etc. Atualmente a versão Common Lisp é utilizada como padrão.
Outra linguagem utilizada em programas de inteligência artificial é o PROLOG (PROgramming in LOGic). O PROLOG foi estruturado nos anos 70 com o intuito de resolver problemas por meio da utilização de sentenças lógicas. A idéia de utilizar o formalismo da lógica para construir programas foi pesquisada principalmente por R. A. Kowalski que forneceu sua base teórica.
Gerações de Linguagens de Programação:
1951 -1959 |
Linguagem de máquina. Também denominada de linguagem de baixo nível composta por seqüências binárias (zero e um). |
1959 -1965 |
|
|
|
1974 -1985 |
|
Após 1985 |
Utilizada em banco de dados distribuídos |
Noções Gerais
A Inteligência Artificial Distribuída (IAD) trabalha com vários sistemas ao mesmo tempo que se comunicam entre si e dividem tarefas. Cada sistema pode assumir uma função específica e todo o sistema torna-se responsável pelo gerenciamento das interações para alcançar um objetivo comum.
Os sistemas de IAD permitem com que vários processos autônomos (agentes) sejam representados em um só sistema (que coordena) o conhecimento de vários especialistas, possibilitando a resolução de problemas complexos e atos que requisitam uma inteligência global, por meio de processamentos locais e comunicações interprocessos.
A IAD permite realizar tarefas melhor do que um especialista humano. Trabalha com diferentes módulos que podem manipular características de alto nível como intencionalidade, racionalidade, etc. Cada componente é denominado de agente.
A IAD se divide em três grandes domínios:
Como exemplo de modelos de IAD pode-se citar a arquitetura Blackboard. Essa arquitetura utiliza um raciocínio inerentemente distribuído. A arquitetura blackboard é constituída por várias fontes de conhecimento (knowledge system, knowledges sources, agenda e o próprio blackboard).
Vantagens dos sistemas de IAD:
AGENTE
Noções Gerais
A palavra agente pode ser definida de diferentes formas, de acordo com o enfoque e o objetivo que se quer atingir.
De uma forma geral, agente: "É uma entidade (física ou abstrata), capaz de agir sobre si mesma e sobre o meio, possuindo uma representação parcial desse meio, que tem capacidade de comunicar com outros agentes, e cujo comportamento é a conseqüência de suas observações, de seus conhecimentos e de suas interações com outros agentes" [Feber, 88].
Grande parte do estudo dos agentes é desenvolvido no campo da IA, mais particularmente na inteligência artificial distribuída (IAD). A IAD surgiu na década de 70 com os estudos feitos sobre a concorrência e a distribuição de tarefas, foi estruturada com o objetivo de agilizar e otimizar tarefas. Enquanto a IA utiliza sistemas de concepções centralizadas onde os agentes atuam sozinhos, a IAD utiliza sistemas de concepções descentralizadas ou distribuídas onde vários componentes trabalham conjuntamente dividindo tarefas.
A IAD possibilita a interação e cooperação entre especialistas de várias áreas (matemáticos, químicos, físicos, biólogos, engenheiros, etc.). Esse sistema é denominado de sistema multiagente.
O sistema multiagente foi baseado na teoria gestáltica, a qual possibilita o surgimento de uma Inteligência Emergente. Por isso, possui a vantagem de ser mais rápido e eficiente na realização de tarefas complexas.
Características dos Agentes
Existem muitas características atribuídas aos agentes, dentre elas:
Um agente é considerado inteligente se é um ser cognitivo, racional, intencional e adaptável, que sabe como agir diante de situações complexas e difíceis.
Os agentes podem ser definidos também como:
1. Deliberativos ou cognitivos:
2. Reativos ou não deliberativos:
Dificuldades dos sistemas multiagentes:
SISTEMAS BASEADOS EM CONHECIMENTO (KBS)
São sistemas utilizados para implementar comportamentos inteligentes de especialistas humanos. O conhecimento do especialista deve ser coletado e interpretado pelo engenheiro do conhecimento para facilitar o entendimento e garantir uma boa modelagem do sistema.
O desenvolvimento dos sistemas baseados em conhecimento (SBC) necessitam passar pelas seguintes fases:

A AC pode ser feita de duas formas: reproduzindo-se fielmente os conhecimentos coletados ou produzindo um modelo original a partir disso. O processo de AC apresenta a seguinte estrutura:

A partir de 1986 a aquisição do conhecimento passou a ser vista como uma atividade de modelagem, ou seja, define um modelo conceitual, a partir de uma fonte de conhecimento (especialista, documentos, etc.).
A modelagem implica num processo de abstração do real, por meio da construção de um modelo conceitual. Modelo conceitual é um esquema criado para permitir a atividade de abstração e explicitação do conhecimento. Nessa etapa é necessário fazer uso das várias formas de representação do conhecimento.
Formas
de Extração do Conhecimento:
Dificuldades da Aquisição
do Conhecimento:
ENGENHEIRO
DO CONHECIMENTO
Noções Gerais
O engenheiro de conhecimento é o responsável pela aquisição do conhecimento (coleta, seleção, decomposição e modelagem) do especialista.
O processo de aquisição do conhecimento junto aos especialistas pode ser feito de várias maneiras. Em geral, o engenheiro do conhecimento entra em contato com um ou mais peritos (agentes do conhecimento), em uma ciência ou ramo particular da ciência, que lhe fornece o conhecimento que será implementado para a resolução de um número determinado de problemas.
Em alguns casos, especialistas de diferentes áreas do conhecimento trabalham juntos para analisar diferentes aspectos de um mesmo problema ou para definir diferentes formas de resolução de problemas.
Características
necessárias ao engenheiro de conhecimento:
Dificuldades do engenheiro do conhecimento:
Uma das problemáticas que envolvem a função do engenheiro de conhecimento é
que ele seleciona e coleta dados para realizar uma abstração estática de um
mundo dinâmico, cujos problemas e soluções sempre se renovam.
Observação:
Especialistas são pessoas reconhecidas por possuírem um considerável grau de conhecimento em determinada especialidade.
O especialista deve possuir um alto grau de especialização na sua área, ou seja, ser um perito altamente qualificado, conhecedor do seu potencial e dos seus limites. Além disso deve ter autoconfiança, determinação, versatilidade e uma grande capacidade de organização na resolução de problemas.
O especilaista é quem detém o conhecimento, os conceitos, regras, os dados, as teorias, as questões e as possíveis soluções para o problema que se quer resolver. E o engenheiro do conhecimento é quem extrai o conhecimento do especialista e é responsável por sua formalização e estruturação.
Existem várias maneiras de representar uma base de conhecimento, por exemplo:
Regras de Produção
É a representação de um domínio específico do conhecimento na forma de um conjunto de regras (se...então...) baseadas na lógica. Essas regras formam a base do sistema. Constitui a técnica mais famosa utilizada pelos sistemas especialistas.
As premissas servem como parâmetro para mapear a memória de trabalho. Contém os antecedentes da conclusão, ou seja, as condições que permitem ao sistema chegar a determinados resultados.
A conclusão representa o resultado de um encadeamento lógico das premissas, pode representar também as possíveis saídas do sistema. Implica uma alteração ou adição de novos fatos à memória de trabalho.
A forma como as premissas e as conclusões se relacionam depende das estratégias de controle (encadeamento para frente, para trás e sistema híbrido).
Características das Regras de Produção:
Objetivo: Fazer com que a máquina seja capaz de realizar deduções a partir das regras que lhe foram previamente fornecidas (é uma das formas mais conhecidas de representação do conhecimento para sistemas de pequeno porte).
Um sistema baseado em regras de produção possui três partes constitutivas que são: memória de trabalho, memória de regras e motor de inferência.
Vantagens das Regras de Produção:
Desvantagens das Regras de Produção:
Redes Semânticas
Origem: Surgiram (em 1968) com os estudos realizados por Quillian a respeito da memória associativa humana.
Conceito: "As redes semânticas são representações gráficas do conhecimento. Como uma árvore de decisão, elas consistem em nós que são representados por círculos, e arcos que são representados por linhas com setas. Os nós contém informações, e os arcos mostram a relação entre elas." [LEVINE, 88].
Utilização:
Base das Redes Semânticas: Primitivas de representação: noções de grafos (servem para representar objetos, conceitos e valores) e arcos (servem para representar associações entre objetos e conceitos ou entre atributos e objetos).
Estruturação: Nas redes semânticas os conhecimentos são estruturados utilizando-se frames (nós) e ligações entre os frames (frame é um tipo de rede semântica).
Vantagens: Flexibilidade, inteligibilidade, maleabilidade, simplicidade e herança.
Mecanismos de Inferência: As redes semânticas utilizam dois mecanismos de inferência: herança e filtragem. A herança serve para inferir propriedades "deflaut" dos elementos de uma classe, como por exemplo: filho, neto, sogro, etc., enquanto que a filtragem serve apenas para focar conceitos específicos.
Raciocínio: As redes semânticas utilizam dois raciocínios: propagação de ativação (busca encontrar um caminho entre dois nodos) e o mapeamento de estruturas (realiza consultas baseado em partes de grafos).
Dificuldades:
Frames
Origem: Surgiu com os estudos de Minsky sobre a representação do conhecimento e o processo de observação visual, através da comparação entre as propriedades observadas nos objetos e os padrões estereotipados, previamente definidos na memória.
Conceito: São conjuntos de slots (campos) e de valores, cuja estrutura contém informações referentes a determinados objetos, as quais são armazenadas de forma hierárquica. Os frames podem ser criados a partir de uma coleção de frames (já existentes) conectados entre si. Isto se torna possível uma vez que um atributo de um frame pode ser outro frame.
De acordo com Elaine Rich e Kevin Knight: "Um frame é uma coleção de atributos, em geral chamados de escaninhos (slots), e valores a eles associados (e possivelmente restrições a estes valores) que descrevem alguma entidade do mundo." [RICH, 93].
Vantagens: Os frames são bem adaptados ao raciocínio humano, flexíveis e fáceis de usar, embora não tenham uma metodologia de implementação específica. Permitem a herança automática dos atributos e podem estruturar uma grande quantidade de conhecimentos.
Características:
Tipos de Frames:
Funcionalidades:
Dificuldades:
Grafos Conceituais
A utilização dos grafos conceituais teve origem nos trabalhos realizados por John Sowa (na década de 80) sobre a linguagem natural e o modelo psicológico da percepção. O objetivo era obter uma melhor formalização do modelo conceitual a ser utilizado no processo de aquisição do conhecimento. Constitui uma extensão das redes semânticas.
Noções Gerais
Uma das aplicações que se destacam no campo da inteligência artificial é a construção dos sistemas especialistas (SE) e dos sistemas baseados em conhecimento (SBC).
Sistemas especialistas são sistemas desenvolvidos para conter em si o conhecimento de um ou mais especialistas, ou seja, são sistemas projetados para solucionar problemas e realizar tarefas simulando a tomada de decisão de especialistas em diferentes áreas.
Os SE são capazes de aprender, analisar, controlar, interpretar, aconselhar, consultar, monitorar, comunicar, instruir, classificar, diagnosticar, predizer, projetar, testar, etc. Além da capacidade de aprender o SE pode melhorar seu desempenho, aprimorar seu raciocínio e aperfeiçoar suas decisões.
São estruturados para atender a uma aplicação restrita ou domínio limitado do conhecimento. Quanto mais restrito o domínio e mais conhecimento tiver o programa mais eficiente tende a ser o SE. Segundo Hubert Dreyfus: "O nosso sistema especializado médico 'MYCIN', por exemplo, é superior aos especialistas da Escola de Medicina da Universidade de Stanford" [PESSIS-PASTERNARK, 93].
Os SE são constituídos por três componentes centrais: base de dados, conjunto de operadores e estratégia de controle.
Os SE só começaram a ser comercializados a partir de 1980 e conquistaram uma grande credibilidade e sucesso no meio industrial. Dentre os programas que utilizam a tecnologia dos SE pode-se citar o:
Aplicações
dos Sistemas Especialistas
As aplicações dos sistemas especialistas podem ser enquadradas em três grandes categorias: manufatura, finanças e serviços (educação, engenharia, meteorologia, medicina, militar, telecomunicações, etc.).
Vantagens
da utilização dos SE:
Existem muitas vantagens na utilização dos SE, dentre elas:
Shells ou Geradores dos SE
São programas que possuem ferramentas para facilitar a implementação do raciocínio, aquisição e representação do conhecimento. Objetiva facilitar a integração dos SE com outros tipos de programas.
Um shell de SE possui a vantagem de representar o conhecimento e o raciocínio de uma forma muito mais flexível e de possibilitar o desenvolvimento de novos sistemas especialistas, ou seja, novas aplicações em novos domínios. Isso é denominado de Aplicabilidade do Motor de Inferência.
Os shells suportam regras, frames e outros mecanismos de representação do conhecimento.
Dificuldades
na utilização dos SE
Ferramentas do tipo Shell
Formalismos dos SE
A Inteligência artificial utiliza vários tipos de raciocínio para implementar comportamentos inteligentes, dentre eles:
Raciocínio Baseado em Casos
Conceitos:
É um paradigma da IA que utiliza uma grande biblioteca de
casos para consulta e resolução de problemas.
"Os sistemas de computadores que solucionam problemas
novos por analogia com problemas antigos em geral são chamados de sistemas de raciocínio
baseado em casos (CBR - case-based reasoning)." [RICH, 93]
Metodologia: Os problemas atuais são resolvidos, através da recuperação e consulta de casos já solucionados e da conseqüente adaptação das soluções encontradas.
Características:
Possui uma biblioteca de casos que servem como exemplos de soluções de problemas, os quais são armazenados segundo um método de indexação, com o objetivo de facilitar consultas posteriores.
Exemplo de Raciocínios Baseados em Casos:
Sistema CASEY: Faz o diagnóstico de pacientes
cardíacos baseado na consulta de arquivos de pacientes com o mesmo diagnóstico.
Sistema CHEF: Baseado na consulta de arquivos de
receitas antigas, analisa e cria novas receitas culinárias.
Raciocínio Estatístico
É utilizado em situações onde não é possível prever com segurança a verdade ou falsidade de determinados fatos, embora seja possível prever o grau de probabilidade de determinados resultados.
O raciocínio estatístico também é utilizado para determinar estatisticamente a freqüência de possíveis exceções na ocorrência dos fatos. Para modelar o raciocínio estatístico podem ser utilizados fatores de certeza, estatística bayesiana, etc.
Fatores de Certeza: Associa fatores de certeza à determinadas regras para prever
a validade de uma conclusão com base nas evidências descritas pelo antecedente da regra.
Estatística Bayesiana: Utiliza a probabilidade condicional da ocorrência de um
fato baseado nas evidências relevantes.
Raciocínio Baseado em Modelos
Realiza a construção de modelos para representar o comportamento de objetos ou sistemas, de modo a diagnosticar seu comportamento e eventuais falhas.
Raciocínio Não-Monotônico
Faz uso de axiomas e regras de inferência para permitir o raciocínio de conhecimentos incompletos.
Noções Gerais
O cérebro humano é composto por cerca de 100 bilhões de neurônios, que são conectados entre si de maneira complexa por meio de sinapses. Essa complexa conectividade é responsável pelas características atribuídas à inteligência.
Com o desenvolvimento da Inteligência Artificial surgiu a idéia de representar por meio de determinados programas o funcionamento do processo de aprendizagem do cérebro humano. A tentativa de simular a rede neural do cérebro deu origem à chamada Rede Neural Artificial.
Os trabalhos sobre redes neurais se iniciaram na década de 40, na Universidade de Illinois, com o neurofisiologista McCulloch e o matemático Walter Pitts, cujas idéias foram publicadas no artigo A Logical Calculus of the Ideas Immanent in Nervous Activity (1943).
McCulloch e Pitts estabeleceram uma analogia entre o processo de comunicação das células nervosas vivas e o processo de comunicação por transmissão elétrica e propuseram a criação de neurônios formais. Em 1947 eles conseguiram demonstrar que era possível conectar os neurônios formais e formar uma rede capaz de executar funções complexas.
As redes neurais possuem diferentes denominações, dentre elas redes neuronais, modelos de redes neurais artificiais, modelos conectistas e sistemas neuromórficos.
Assim como o cérebro humano é composto de células biológicas, a rede neural possui um neurônio artificial semelhante, pois ainda não é possível copiar totalmente o sistema de processamento paralelo existente nas células biológicas.
Não existe por parte da neurocomputação a pretensão de imitar o cérebro humano, o seu objetivo é o aprendizado da máquina, baseado em modelos que possam ser implementados para desempenhar funções inerentes ao cérebro humano.
As pesquisas em redes neurais artificiais (RNA) tentaram simular o cérebro humano, principalmente a sua capacidade de aprender e se adaptar a eventuais mudanças. Portanto, as RNA têm como principal objetivo simular a capacidade de aprendizado e a capacidade de generalização do cérebro humano, podendo executar tarefas que os programas convencionais não conseguiam realizar, pois não tinham essa característica de aprendizagem e adaptabilidade.
O psicólogo Donald Hebb (1949) deu uma importante contribuição ao estudo das redes neurais ao elaborar uma teoria baseada no processo de aprendizagem que ocorre no cérebro humano, esta teoria serviu de base para a aprendizagem das redes neurais.
O processo de aprendizado é geralmente um processo interativo de adaptação aplicado aos parâmetros da rede (pesos e thresholds), onde os conhecimentos são armazenados após cada interação.
Em 1956, Nathaniel Rochester desenvolveu um modelo de rede neural artificial, no qual era simulada a interconexão de centenas de neurônios e um sistema para verificar o comportamento da rede diante dos estímulos externos.
No entanto, a rede que se tornou mais popular, foi a Rede Perceptron, criada por Frank Rosenblat (1957). Mas a credibilidade da Rede Perceprton não durou muito, isto porque, em 1969, Mavin Minsky junto com Seymour Papert publicaram o livro Perceptron, no qual fizeram severas críticas às redes neurais, argumentando que os Perceptrons apresentavam limitações em suas aplicações, não possuíam capacidade de aprendizado para resolver problemas simples e não possuíam adequada sustentação matemática.
A primeira rede capaz de imitar o cérebro humano utilizando processadores paralelos (ao invés de um único processador) surgiu com Widrow e Hoff, em 1959, com a estruturação da Rede ADALINE, (Adaptative Linear Element). Mais tarde Widrow e Hoff estruturaram uma nova rede denominada MADALINE (Many ADALINE).
Apesar de terem surgidos trabalhos significativos na década de 60 e 70, como os de Werbos, Anderson, Grossberg, as pesquisas com as redes neurais só voltaram a recuperar sua credibilidade (em 1982) com os trabalhos do físico e biólogo John Hopfield.
As redes neurais artificiais podem ser entendidas como conjuntos bem estruturados de unidades de processamentos, interligadas por canais de comunicação, cada qual tendo um determinado peso correspondente a um valor numérico. Consistem de várias unidades de processamento (neurônios artificiais) interconectadas entre si formando uma determinada disposição estrutural de camadas (entrada, intermediárias e saída) e conexões entre as camadas.
Atualmente existem dezenas de modelos de redes neurais estruturados para as mais diversas aplicações. Alguns dos modelos de RNA mais conhecidos são:
Aplicações das Redes Neurais
Podemos encontrar diferentes algoritmos de aprendizado, entende-se por algoritmo de aprendizado um conjunto de regras bem definidas que são utilizadas para solucionar um determinado problema de aprendizado. Os algoritmos de aprendizado podem ser agrupados em quatro categorias:
Quanto ao tipo de treinamento para aprendizado as redes apresentam:
Aprendizado Supervisionado: Exige a presença de um agente externo (tutor) na fase de aprendizado, que avalia e informa à rede sobre a sua performance. O tutor adquire conhecimento da rede, na forma de mapeamentos (padrões) de entrada-saída.
Aprendizado não Supervisionado: Não possui um tutor (crítico). A rede é autônoma, trabalha com os dados que lhes são apresentados e aprende a refletir sobre as suas propriedades no seu output. Esse tipo de aprendizado pode ser utilizado com um algoritmo competitivo ou hebbiano.
Aprendizado por Reforço: Possui um crítico externo que avalia as respostas fornecidas pela rede e direciona o ajuste dos pesos. O aprendizado é online, feito por um processo de tentativas e erros, que visa maximizar um dado índice de desempenho, denominado de sinal de reforço.
Características que definem uma rede neural artificial:
Vantagens da Utilização das Redes Neurais Artificiais:
Dificuldades das Redes Neurais:
As redes neurais artificiais trabalham com um número reduzido (centenas) de neurônios artificiais, enquanto as redes neurais biológicas trabalham com milhões de neurônios.
Aristóteles (384-322 a.C.) foi o primeiro estudioso a fazer uma representação do processo do pensamento, através da sistematização do raciocínio lógico. A lógica aristotélica permaneceu como Aristóteles a estruturou durante vários séculos até o surgimento das lógicas não clássicas no século XIX com A. De Morgan (1806-1871), Boole (1815-1864), G. Frege (1848-1925) e Bertrand Russell (1872-1970).
G. Leibniz (1646-1716), Saccheri (1667-1733) e J. H. Lambert (1728-1777) fizeram tentativas de matematizar a lógica, mas foi George Boole que estruturou a lógica matemática.
As idéias de Boole foram publicadas no livro Mathematical Analysis of Logic, no qual ele demostra que a lógica pode ser manipulada algebricamente e que os resultados das operações lógicas podem ser obtidos através da utilização de técnicas matemáticas. Essa obra deu suporte para a lógica matemática ou simbólica utilizada em alguns ramos da computação, eletricidade e eletrônica.
As idéias de Boole representaram um grande passo na ciência da computação, no sentido de auxiliar na simulação e implementação do processo do raciocínio na máquina. Segundo Boole: "O que nós temos que examinar são as leis de uma das mais importantes faculdades mentais. A matemática que temos que construir é a matemática do intelecto humano".
No século XX surgiram vários outros princípios da lógica, que auxiliaram a construção de programas de computador, como por exemplo a teoria da demonstração por refutação de Herbrand (1930), o princípio da resolução de Robinson (1965) e a SLD resolution de Kowalski (1971).
A lógica fuzzy ou lógica difusa foi estruturada em 1965 pelo Dr. Lofti A. Zadeh da Universidade da Califórnia para tratar e representar incertezas. A lógica difusa torna-se importante na medida em que o mundo em que vivemos não é constituído por fatos absolutamente verdadeiros ou falsos.
A lógica difusa permite representar valores de pertinência (grau de verdade) intermediários entre os valores de verdadeiro e falso da lógica clássica (bivalente).
A lógica difusa pode ser aplicada, por exemplo, na construção de sistemas especialistas para descrever coisas imprecisas como: altura (alto, baixo), velocidade (rápido, lento), tamanho (grande, médio, pequeno), quantidade (muito, razoável, pouco), idade (jovem, velho), etc.
Para que isso seja feito é necessário estabelecer parâmetros de pertinência e não pertinência pelos quais os diferentes graus de verdade podem ser atribuídos. Por exemplo:
Exemplo
1:
Ao estabelecer o seguinte padrão:
Um homem que tiver 1,60 metros ou menos, não é considerado alto.
Um homem que tiver 1,80 metros ou mais é considerado alto.
E, em seguida, se fizermos a seguinte pergunta: João é alto?
A resposta deve ser: Se João tiver 1.60 metros ou menos, ele não é alto, já que o valor do grau de pertinência da resposta é 0 (zero), ou seja, não-pertinência. Mas se João tiver 1,80 ou mais, o mesmo é alto, já que o grau de certeza é 1, ou seja, pertinência.
Mas se João tiver uma altura entre 1,61 e 1,79 metros ele não pode ser considerado nem alto nem baixo, no entanto, pode ser estabelecido um grau de pertinência quanto a ser alto. Como os valores 0 e 1 representam as percentagens 0% e 100% é possível estabelecer o grau de pertinência em termos percentuais. Por exemplo: Se João tem 1,75 metros, por uma regra de três simples, pode-se afirmar que João é alto com um grau de certeza de 75% (ou 0,75).
Exemplo
2:
Para a pergunta: Maria é gorda? A probalidade de erro é muito grande, levando-se em consideração apenas o peso.
Para aumentar o grau de certeza da resposta é necessário determinar vários parâmetros como altura, idade, sexo, etc., de modo que o programa tenha informações suficientes para analisar bem a resposta. Por exemplo: Seria melhor perguntar: Maria é do sexo feminino, tem 28 anos, 1,68 de altura e pesa 85 quilos, ela pode ser considerada gorda?
Os exemplos acima são simples, mas existem exemplos complexos que levam em consideração diferentes fatores de certeza.
A lógica fuzzy objetiva fazer com que as decisões tomadas pela máquina se aproximem cada vez mais das decisões humanas, principalmente ao trabalhar com uma grande variedade de informações vagas e incertas, as quais podem ser traduzidas por expressões do tipo: a maioria, mais ou menos, talvez, etc. Antes do surgimento da lógica fuzzy essas informações não tinham como ser processadas.
A lógica tradicional se aplica somente às
informações consideradas completamente
verdadeiras, cujo valor de verdade é igual a 1. Ou seu oposto, informações
consideradas totalmente falsas, cujo valor de verdade é igual a 0, enquanto que
a lógica difusa tem a vantagem de poder ser aplicada às informações que não
são completamente verdadeiras ou falsas, podendo variar entre 0.0 e 1.0.
A lógica fuzzy pode ser aplicada nas seguintes áreas:
BIBLIOGRAFIA
[CHARNIAK & McDERMOTT, 85] Charniak and McDermott. Introduction to Artificial Inteligence.
[FEIGENBAUM, 81] BARR, A., and E. FEIGENBAUM. The Handbook of Artificial Intelligence. vol 1. William Kaufmann, Inc. 1981.
LABIDI, Sofiane and LEJOUAD, W. From Distribuited Artificial Inteligence to Multi-Agent Systems. INRIA nº 2004. France. 1993.
LABIDI, Sofiane. Managing Multi-Expertise in the Design of Collaborative Knowledge-Based Systems. Proceedings of the IEEE Knowledge and Data Exchange Workshop (KDEX'97). NewPort Beach, Los Angeles, USA. November, 1997.
LABIDI, Sofiane and FERREIRA, J. S. Agent-based Architecture for Cooperative Inteligence Tutoring Systems. In Proceedings of the Third International Conference on the Design Cooperative Systems (COOP'98). Cannes. France. June 26-29, 1998b.
LEDESMA, Luis et al. Revista Artificial Intelligence. nº 91. artigo "A Computational Approach to George Boole's Discovery of Mathematical Logic" Madrid 97
[LEVINE, 88] LEVINE, Robert et al. Inteligência Artificial e Sistemas Especialistas. São Paulo, McGraw-Hill, 1988.
[LOESCH, 96] LOESCH, Claúdio & SARI, Solange Teresinha. Redes Neurais Artificiais: Fundamentos e Modelos. Blumenau. Ed. da FURB, 1996.
McCARTHY, John. What has AI in Common with Philosophy?
McCARTHY, John & HAYES, Patrick J. Some Philosophical Problems from the Standpoint of Artificial Intelligence. Stanford University,1969. http://www-formal.stanford.edu/jmc/
[PESSIS-PASTERNAK , 93] PESSIS-PASTERNAK, Guitta. Do caos à inteligência artificial: quando os cientistas se interrogam. 2ª ed. São Paulo, Ed. da Univ. Estadual Paulista, 1993.
ORNSTEIN, Robert. A evolução da consciência: de Darwin a Freud, a origem e os fundamentos da mente. São Paulo, Ed. Best Seller, 1991.
[RICH, 93] RICH, Elaine & KNIGHT, Kevin. Inteligência Artificial. São Paulo: Makron Books, 1993.
[SCHALKOFF, 90] SCHALKOFF, R. Artificial Intelligence: an Engineering Approach. São Paulo, McGraw-Hill, 1990.
STERNBERG, Robert J. The triarchic mind: a new theory of human intelligence.
[WINSTON, 84] WINSTON. Artificial Intelligence. 2nd Edition, 1984